# -*- coding: utf-8 -*-

'''
/**
 * @file        StrOpt.py
 * @brief       XXXX
 * @note        XXXX
 * @author      靳普诏(puzhao.jin@hopechart.com)
 * @date        2024/05/26
 * @version     1.0

 * @par         修改日志
 * <table>
 * <tr><th>Date         <th>Version     <th>Author      <th> Description
 * <tr><td>2024/05/26   <td>1.0         <td>靳普诏       <td> 创建初始版本
 * @copyright   xxxx
 */
'''

import sys
import os
import argparse

from datetime import datetime
# 获取当前日期
CURR_DATE_STRING = datetime.now().strftime("%Y-%m-%d")
# 获取当前时间
CURR_TIME_STRING = datetime.now().strftime("%H:%M:%S")
## 获取当前脚本所在的目录
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
# 输出目录路径
# print("SCRIPT_DIR: "+ SCRIPT_DIR)



def BytesToHexStr(data: bytes, num_per_line=-1, sep=' ') -> str:
    """
    将bytes类型数据转换为十六进制字符串表示，并控制每行的十六进制数数量。

    参数:
    data -- 要转换的bytes数据
    num_per_line -- 每行显示的十六进制数数量，默认为-1（不分行）
    sep -- 十六进制数之间的分隔符，默认为空格

    返回:
    转换后的十六进制字符串
    """
    # 使用列表推导式将bytes转换为十六进制字符串列表
    hex_list = [f"{byte:02x}" for byte in data]

    # 如果num_per_line为-1，则不进行分行处理
    if num_per_line == -1:
        return sep.join(hex_list)

    # 将列表分块，每块包含num_per_line个元素
    chunks = [hex_list[i:i + num_per_line] for i in range(0, len(hex_list), num_per_line)]

    # 使用join和sep将每块的十六进制数连接成一个字符串，并添加换行符
    return '\n'.join(sep.join(chunk) for chunk in chunks)










if __name__ == "__main__":


    ## 获取脚本传参
    argv = sys.argv
    argc = len(argv)
    # 打印命令行参数
    #for i in range(1, argc):
        #print("参数", i, ":", argv[i])


    # 设置命令行参数解析器
    # parser = argparse.ArgumentParser(description='Filter log file based on keywords.')
    # parser.add_argument('input_file', type=str, help='Input log file path')
    # parser.add_argument('output_file', type=str, help='Output filtered log file path')
    # parser.add_argument('filter_list', nargs='+', type=str, help='List of keywords to filter')

    # 解析命令行参数
    # args = parser.parse_args()

        
    print("============= BIGEN: StrOpt.py =============")



    print("============= END: StrOpt.py =============")



## Generated on "2024-05-26 17:57:10" by the tool "gen_hq_file.py >> V20231119" 

